home *** CD-ROM | disk | FTP | other *** search
- GNU881.INF
-
- Some info about these libraries
-
- Michael Ritzert
- Liebermannstr.8
- 5309 Meckenheim
- Germany
- ritzert@dfg.dbp.de
-
- History: most of these routines have been ported to gcc from a
- library patch to AC-Fortran i've developed a while ago. There has
- been an intermediate version compatible to John Dunning's library to
- gcc 1.34 (thank You very much, John, for the initial ports of gcc!).
- The library runs with the original Atari sfp004 in MegaSTs and the
- Boards of Weide and Lischka. It has been tested with hardware
- accelerators (the 68000-hypercache and the hypercache 030). With the
- '030 in connection to an st-compatible 68881 card, the internal caches
- of the cpu have to be switched off, due to a (documented) bug in the
- caching logic of the 68030. See pro_VME's documentation.
-
- Features:
-
- The library is more or less compatible to pml, which belongs to the
- gcc.1.37-distribution of Jwahar Bammi (Thanks a lot for the great
- work You, Eric and all the others spend in that tool). It has been
- used to compile sc 6.8 and gnuplot 2.0.
-
- The library addresses the coprocessor registers directly; there is
- no linef support. If You use it in connection with MiNT, please be
- careful to start ONLY ONE process that uses the fpu since nothing
- has been implemented to overcome the mutual exclusion problem!
-
- Error handling has been implemented in a very rudimentary way (well,
- I believe it's a bit better than in pml). I make use of the fact
- that the 68881 handles floating point exceptions in a self
- consistant manner: Overflows are represented by a signed infinity,
- operations leading to undefined results like 0/0 will be represented
- by a NAN (not a number) symbol. It is also signed; but i never saw a
- negative NAN appearing. In cases where it is (a) simple and (b) not
- time critical to check these conditions, this has been implemented.
- There is no exit on the appearence due to floating point exceptions,
- due to two reasons:
- (a) the 68881 is able to use these symbols in a logical and self
- consistent manner in the computations.
- (b) there are a lot of algorithms which are not very sensitive to,
- say, floating point overflows. It would not be wise to stop the
- computation in these cases. Anyway, the user should (and will be)
- informed about floating point exceptions.
-
- The IO routines have been extended to handle Infinities and NANs.
- The original printf crashes upon the appearence of a NAN. Now,
- +-Infinity or Not A Number is written to the device (better than
- FORTRAN's stars).
-
- This library CANNOT be used on systems with a real hardware
- interface between cpu and coprocessor, i.e., STs with a PAK20, a
- hypercache030 or other 68020/68030 cards with a 68881/68882 on
- board or the TT. On these boards, the line-f commands have to be used.
-
- Installation:
-
- Add the files 881.olb (32 bit int) and 88116.olb (16 bit int) to
- $GNULIB. Link with -l881 or -l88116.
-
- Conclusion:
-
- We are in urgend need of a standardized floating point interface for
- ALL Motorola based Ataris. A few months ago, it has been
- demonstrated in an article published in the c't magazine that a full
- line-f floating point interface can easily be implemented in any ST,
- even those, whose TOS abuses line-f.
-
- Enjoy,
-
- Michael Ritzert
-